The present disclosure relates to an image forming apparatus that performs a printing process based on a print request transmitted from an information processing apparatus.
In recent years, in companies and government ministries, a plurality of personal computers (PCs) and a common printer are connected to each other by a wired local area network (LAN) or a wireless LAN to construct a network environment.
In the network environment, the plurality of PCs individually transmits print requests to the printer. Whenever the print request is received, the printer performs a printing process based on the received print request.
When receiving the print request in the state in which no printing process is performed, the printer instantaneously starts the printing process for the received print request.
However, when the print request is received from another PC during a printing process (when the print request is received), it is difficult for the printer to instantaneously start the printing process for the received print request. Therefore, in this case, the problem is how to respond to the print request.
As a method for solving the problem, the following technique has been proposed.
For example, when a print request is transmitted from a PC, job information about the print request is registered in a request order list. At that time, no print data is received. Then, the job information to be printed is selected from the job information items registered in the request order list in the order in which the job information is registered and the PC that has transmitted the selected job information is allowed to transmit print data (for example, see Related Art 1: Japanese Unexamined Patent Application Publication 2009-269259).
According to the technique disclosed in Related Art 1, the order in which the print requests are received is managed by the request order list. Therefore, when the job information is selected in the order in which it is registered in the request order list, the image forming apparatus can perform the printing process in the order in which the print requests are received.
However, the technique disclosed in Related Art 1 has the following problems.
For example, in Related Art 1, the printer (image forming apparatus) does not receive a new print request that has been transmitted (received) during the printing process and does not spool print data. Therefore, while the printer performs the printing process, the PC that has transmitted the print request cannot close the application until the printer ends the printing process. After the printing process ends, the PC transmits print data and is maintained in a standby state until the spooling of the print data is completed. Therefore, the user who uses the PC to output the print request to the printer needs to wait in front of the PC.
This state will be described with reference to FIG. 8.
As illustrated in FIG. 8, for example, one information processing apparatus 201 transmits print request X to image forming apparatus 100 (Step S100).
When image forming apparatus 100 receives print request X, first buffering unit 101 registers job information about print request X in the request order list.
Then, first buffering unit 101 selects the first registered job information item from the job information items registered in the request order list. Assuming that the job information about print request X is registered first, first buffering unit 101 permits the transmission of print data to the information processing apparatus 201 that has transmitted print request X (Step S101).
When getting the permission to transmit print data, information processing apparatus 201 transmits the print data to image forming apparatus 100 (Step S102).
When image forming apparatus 100 receives the print data, first buffering unit 101 stores the print data in a buffer (buffering process; Step S103). When the storage of the print data is completed, first buffering unit 101 requests print processing unit 103 to perform a printing process (Step S104). Print processing unit 103 performs printing process X based on the print data stored in the buffer (Step S105).
Then, it is assumed that another information processing apparatus 202 transmits print request Y to image forming apparatus 100 (Step S106).
When image forming apparatus 100 receives print request Y, second buffering unit 102 registers job information about print request Y in the request order list.
Assuming that image forming apparatus 100 receives print request Y before the printing process X ends, the job information about print request Y is registered after the job information about print request X in the request order list (the job information about print request Y is the second job information). Therefore, at that time, second buffering unit 102 does not transmit a signal indicating the permission of the transmission of print data. In this way, information processing apparatus 202 is in a standby state (waiting process; Step S107).
Then, when printing process X ends, second buffering unit 102 permits information processing apparatus 202 to transmit the print data for print request Y (Step S108).
When getting the permission to transmit the print data, information processing apparatus 202 transmits the print data to image forming apparatus 100 (Step S109).
When image forming apparatus 100 receives the print data, second buffering unit 102 stores the print data in the buffer (buffering process; Step S110). When the storage of the print data is completed, the second buffering unit 102 requests print processing unit 103 to perform a printing process (Step S111). Print processing unit 103 performs a printing process Y based on the print data stored in the buffer (Step S112).
As such, when print request Y is transmitted from information processing apparatus 202 before the printing process X ends, image forming apparatus 100 does not receive print request Y. Therefore, the user of the information processing apparatus 202 needs to wait until the printing process X ends.
The following method is considered in order to solve the problems.
For example, when the image forming apparatus 100 receives a print request, buffering units 101 and 102 receive the print request and spool the print data, regardless of whether print processing unit 103 performs a printing process.
Specifically, for example, as illustrated in FIG. 9, when print request Y is transmitted from information processing apparatus 202 (Step S200) or second buffering unit 102 of image forming apparatus 100 receives print request Y, regardless of whether print processing unit 103 performs a printing process, and transmits a signal for performing the transmission of print data to information processing apparatus 202 (Step S201).
When receiving the signal indicating the permission of the transmission of print data, information processing apparatus 202 transmits print data related to print request Y to image forming apparatus 100 (Step S202).
When receiving the print data, second buffering unit 102 of image forming apparatus 100 spools the print data in the buffer (buffering process; Step S203).
When printing process X related to print request X transmitted from information processing apparatus 201 ends (Step S105), second buffering unit 102 requests print processing unit 103 to perform a printing process (Step S204). When receiving the print request, print processing unit 103 performs printing process Y based on the print data stored in the buffer (Step S205).
As such, image forming apparatus 100 spools the print data for each print request. Therefore, it is possible to receive the print request and spool print data in the buffer, regardless of whether a printing process is being performed. In this way, the image forming apparatus 100 can perform the printing process in the order in which the print requests are received. In addition, the user of information processing apparatus 202 does not need to wait until printing process X that is currently being performed ends.
However, this method has the following new problems.
For example, in image forming apparatus 100, after the buffering of print data by buffering units 101 or 102 is completed, print processing unit 103 starts a printing process.
However, when a print request for a plurality of documents is received, the printing process is sequentially performed from the buffered documents.
Therefore, when print requests for a plurality of documents are transmitted from plurality of information processing apparatuses 200 substantially at the same time, the printing process may be to be interrupted.
An example of the interruption will be described with reference to FIG. 10.
For example, when receiving a print request transmitted from information processing apparatus 201, first buffering unit 101 of image forming apparatus 100 buffers print data (Step S300).
It is assumed that the print request transmitted from information processing apparatus 201 is for printing three documents.
First buffering unit 101 spools the print data of the first document in the buffer. When the buffering of the print data is completed, first buffering unit 101 transmits a request to print document to the print processing unit 103 (step s301).
Print processing unit 103 performs a printing process X1 based on the print data of the first document (Step S302).
When the printing process X1 ends, first buffering unit 101 transmits a request to print the second document to print processing unit 103 after the spooling of the print data of the second document is completed (Step S303). Print processing unit 103 performs the printing process X2 based on print data of the document (Step S304).
When print request Y is transmitted from information processing apparatus 202 to image forming apparatus 100 during the printing process X2, second buffering unit 102 buffers print data related to print request Y (Step S305).
It is assumed that print request Y transmitted from information processing apparatus 202 is for printing one document.
When the buffering of the print data is completed, second buffering unit 102 transmits a request to print the document to print processing unit 103 (Step S306).
Print processing unit 103 performs the printing process Y based on the print data of the document (Step S307).
When the spooling of the print data of the third document is completed, first buffering unit 101 transmits a request to print the document (Step S308). Print processing unit 103 performs a printing process X3 based on the print data of the document (Step S309).
As such, when one print request to print a plurality of documents is received and a print request is transmitted from another information processing apparatus 200 during the printing process based on the print request, the printing process may be to be interrupted.
As a result, in some cases, the printout of the document corresponding to print request Y is mixed with the printout of the second document corresponding to print request X and the printout of the third document corresponding to print request X in the output tray of image forming apparatus 100. That is, when the process illustrated in FIG. 10 is performed, the printout corresponding to print request X and the printout corresponding to print request Y are likely to be mixed with each other.
When the user of information processing apparatus 201 moves to image forming apparatus 100 in order to pick up the printout, checks only the first and last pages of the printout, and picks up the printout while thinking that the printout is the user's own, the user also picks up the printout of another user.
When the user of information processing apparatus 201 finds that the printout of another user is mixed with the user's own printout, the user needs to manually sort the printouts, which is very troublesome.